The present invention relates generally to the control of data over network communications systems, and more specifically to a data network controller.
Data networks are communications systems that connect nodes for the purpose of sharing computing resources. Creating efficient data routes between source and destination nodes is an important goal of organizations using data networks to facilitate the sharing of resources, data, and information.
A node is typically represented by one or more computing devices, which can include personal computers and peripheral equipment. Interchangeably referred to herein as a “point,” a node is typically an endpoint for a particular segment on a data network known as either a “route” or “path.” The segment defined between two consecutive nodes is hereinafter referred to as a “hop.” Additionally, an autonomous system (“AS”) hop refers to a segment within, for example, a single autonomous system. Further, a hop can also be a portion of a network path that is defined by two non-consecutive nodes.
For example, 15 individual nodes may exist between a source and a destination. These 15 nodes may span three autonomous systems, thus a total of 7 hops might be defined. The first hop could run from an egress node of the source network to an ingress node of the first AS. The second hop could run across the first AS between its egress and ingress nodes. The third hop could run from the egress node of the first AS to an ingress node of an second AS. The fourth hop could run from an ingress node to an egress node of the second AS. The fifth hop could run across an egress node of the second AS to an ingress node of the third AS. The sixth hop could run between an ingress node and an egress node of the third AS. Finally, the seventh hop could run between an egress node of the third AS to the destination node. Although the above example listed seven hops, a data path such as that described above, may be composed of fewer or greater than the number of hops described. Moreover, more than one hop could run between the ingress and egress nodes of an AS.
A source and/or a destination may embody a data source, such as a web-based database, storage enclosure, series of storage facilities, or the like that maintains computational resources for a particular organization. Resources may include mission-critical data or software programs, or applications, which are used to execute specific missions. For example, in a banking context, a database may contain sensitive and secure financial information for clients or partners. This information is often required to support mission-critical applications. In many situations where large distributed organizations depend upon the sharing of such resources, data networks are implemented and often through the use of more than one network service provider or “NSP.” Where more than one NSP is used for a network, the network is said to be “multi-homed.” Where a multi-homed network exists, there are several drawbacks to conventional data network control.
First, efficiency of routing data is a significant problem with regard to conventional data network control systems. Generally, efficiency includes optimizing network performance and minimizing costs. Reducing costs and maximizing performance (e.g., reducing loss, latency, jitter, etc.) are common goals among conventional data routing control techniques and technologies. However, conventional data network control systems are unable to achieve maximum performance at minimum cost for most destinations. Efficiency is often sacrificed when considered against the cost of data transmission and performance of a data network. In other words, cost and performance are factors which often, either implicitly or explicitly, override efficiency. Although efficiency is often critical, it is difficult to achieve because there are numerous factors influencing the logic and decision-making processes in terms of how, when, and where to route data between a source and a destination. Multi-homed networks have inherent barriers to achieving efficient data routing due to the use of multiple NSPs. Thus, multi-homing requires the evaluation of too many routes for determining candidate data paths with conventional route control techniques.
Protocols such as Border Gateway Protocol (“BGP”) is a data protocol used to standard data communications between ASes. For multi-homed enterprises or organizations, BGP is a useful protocol. However, in terms of efficiency, BGP may not necessarily provide the optimum solution. BGP does not make routing control decisions based upon either cost information or performance statistics. Instead, BGP makes decisions on AS paths and other administrative settings. And even though BGP distributes data load on NSPs, it does not distribute data loads to minimize bandwidth usage costs.
Further, BGP routes data to a destination in only one way such that performance is not considered in routing control decisions by traditional use of BGP. Although a better performing route may exist, BGP will not shift data traffic to the better performing route. In another example, an optimum performing route may exist, but the route may later degrade. Since BGP is unable to account for the subsequent degradation, if cannot adjust to a better performing route to resolve such degradation. As an example, a shorter, lower performance route and a longer, higher performance route might both exist to the same destination. BGP will make routing control decisions to direct data traffic flow over the shorter route. Although the longer route is the better performing route, BGP and conventional protocols will select the shorter route, despite the lower-performance quality of the selected route. Therefore, there is a need for a solution to control data routing while maximizing performance and minimizing costs for most destinations.
Another drawback to conventional data network controllers is usage overruns. NSPs can set usage thresholds by generally measuring flow volumes or bandwidth. These thresholds define maximum utilization rates and, for example, are often user-configurable. When maximum utilizations rates are met, any excess data flow spills over into another, generally more expensive NSP usage profile such that the excess data flows cost more to route. Inflexible provider pricing tiers result in incrementally more expensive buckets in which overflow data is placed. Rather than re-allocate bandwidth needs in a more efficient manner, conventional data route control techniques often shift maximum and/or minimum pricing limits, resulting in dynamic and static pricing models. Ultimately, the multi-homed enterprise or organization is not maximizing the efficiency of its data routing requirements and, thus, pay additional costs unnecessarily. In large distributed networks, these costs may result in significant financial payments far beyond what is required given the amount of data that needs to be routed to support any mission-critical applications. For example, a significant part of these costs is the time-instantaneous cost of using a given NSP.
Further, many traditional route control products and methods today utilize and make control decisions on routes as advertised in a protocol routing table, such as a Border Gateway Protocol (BGP) routing table. These routes are often large allocations of address space meant to keep the inter-provider routing table small. Unfortunately, these route control products do not take into consideration the vast geographic distances between adjacent networks of a large address project. Geography can affect the performance of routing data because one or more paths can degrade due to, for example, congestion caused by network outages, line cuts, etc. Therefore, a controller decision intended to correct a routing problem in a network, especially in a multi-homed situation, could have far-reaching and adverse effects upon numerous addresses, depending upon the number of addresses affected.
Therefore, what is needed is a system and method for overcoming the aforementioned drawbacks of conventional route controllers and route control techniques.